#include <iostream>
#include <unistd.h>
#include <sys/types.h>
#include <signal.h>
#include <string>
#include <cstdlib>
// 自己模拟实现 kill 指令

void Usage(std::string proc)
{
    std::cout << "Usage : \r\n\t" << proc << " signumber processid " << std::endl;
}

// ./mykill 指定信号 指定进程
int main(int argc, char *argv[])
{
    // 系统调用 kill
#if 0
    if (argc != 3)
    {
        perror("参数不足！\n");
        Usage(argv[0]);
        exit(1);
    }

    int signumber = atoi(argv[1]);
    int procid = atoi(argv[2]);

    kill(procid, signumber);
#endif

    // 系统调用 raise

#if 0
    std::cout << "我正在工作！" << std::endl;
    sleep(3);
    raise(8);
#endif

#if 1
    std::cout << "我正在工作！" << std::endl;
    sleep(3);
    abort();
#endif

    return 0;
}